package com.eastfair.imaster.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.eastfair.boot.request.PageParams;
import com.eastfair.boot.service.SuperCacheService;
import com.eastfair.imaster.dto.SuggestDTO;
import com.eastfair.imaster.dto.SuggestPageQuery;
import com.eastfair.imaster.entity.Suggest;
import com.eastfair.imaster.vo.SuggestVO;

/**
 * <p>
 * 业务接口
 *
 * </p>
 *
 * @author zjn
 * @date 2021-08-31
 */
public interface SuggestService extends SuperCacheService<Suggest> {

    /**
     * 新增意见反馈
     *
     * @param suggestDTO 意见反馈实体
     * @return 是否插入成功
     */
    Boolean save(SuggestDTO suggestDTO);

    /**
     * 回复意见反馈
     *
     * @param suggestDTO 意见反馈实体
     * @return 是否回复成功
     */
    Boolean replyById(SuggestDTO suggestDTO);

    /**
     * 通过id获取意见反馈实体
     *
     * @param id 主键
     * @return 意见反馈实体
     */
    SuggestVO queryById(Long id);

    /**
     * 获取分页意见反馈列表
     *
     * @param params 分页查询参数
     * @return 分页意见反馈列表
     */
    Page<SuggestVO> queryPageList(PageParams<SuggestPageQuery> params);

    /**
     * 根据用户获取分页意见反馈列表
     *
     * @param params 分页查询参数
     * @return 分页意见反馈列表
     */
    Page<SuggestVO> queryPageListBySubjectType(PageParams<SuggestPageQuery> params);
}
